#ifndef __GPIO_DEVICE_H
#define __GPIO_DEVICE_H

typedef struct GPIO_Data {
	void *port;
	unsigned int pin;
	unsigned char keyBuf;
	//unsigned char value;
}GPIOData, *PGPIOData;

typedef struct GPIO_Device {
	char *name;
	unsigned char value;
	int (*Init)(struct GPIO_Device *ptDev);
	int (*Write)(struct GPIO_Device *ptDev, int status);
	int (*Read)(struct GPIO_Device *ptDev);
	int (*KeyScan)(struct GPIO_Device *ptDev);
	PGPIOData privData; //void *privData;
}GPIODevice, *PGPIODevice;


PGPIODevice GetGPIODevice(char *name);

#endif /* __GPIO_DEVICE_H */

